# 一般而言，写好的HTML页面是静态的，但是在很多时候我们却希望能够动态的进行显示
# 例如我们想在h1中显示我们的数据，但是如果只是写死的HTML文件，h1中的数据也是写死的，无法做到每天动态更新
# 因此针对这种情况，就出现了非常的多的工具来解决这些问题。
# 这些工具的通常做法是自定义一些特殊的语法，在服务器响应get请求前，这些工具首先会读取HTML文件，然后解析其中的语法
# 然后根据语法来进行替换，最终实现动态的、每日更新的效果。此外，解析HTML中的语法、填充对应的数据也被称为渲染HTML
# 因此在这个角度上，HTML文件就成了一个模板，只是规定了骨架，我们需要每天去填写其中的数据即可
# 而负责去解析特殊语法的这些工具，对应的就被称为模板引擎，像vue、react等等都是模板引擎
# flask 也有自己的引擎，即ninjia2，是flask的作者未来flask编写的引擎


from flask import Flask, render_template
from werkzeug import datastructures

app = Flask(__name__)

@app.route("/")
@app.route("/index")
def index(): 
    data = {
        "name" : "张三",
        "age" : 21,
        "list" : [1,2,3,4]
    }
    # 传参，flask调用jinjia2渲染html，使用data中的数据来进行渲染
    return render_template("index2.html", data=data)


if __name__ == "__main__":
    app.run()